package com.tabnet.dao;

import java.sql.SQLException;

import com.tabnet.beans.produit.Produit;

public interface DAOProduit {

	/**
	 * Méthode qui ajoute un produit dans la base de données
	 * @param prod : objet produit
	 * @throws DAOException
	 */
	public void addProduit(Produit prod) throws DAOException;
	
	/**
	 * <p>Procédure updProduit<br />
	 * Met a jour la quantité d'un produit</p>
	 * @param prod : objet Produit
	 * @param pRef : référence du produit
	 * @param pQteCMD : quantite a retirer
	 * @param pMinus : true si on décrémente, false sinon
	 * @throws DAOException
	 */
	public void updProduit(String pRef, int pQteCMD, boolean pMinus) throws DAOException;
	
	/**
	 * Méthode qui retourne le produit qui correspond à la référence passée en paramètre, 
	 * null si aucun produit ne correspond
	 * 
	 * @param ref du produit à trouver
	 * @param dispo : vrai si le produit à retourner doit être disponible
	 * @return Produit correspondant à la référence
	 */
	public Produit trouverProduit(String ref, boolean dispo) throws DAOException;
	
	/**
     * <p>Fonction getLastRef<br />
     * Retourne la dernière référence d'un produit</p>
     * @throws SQLException
     * @return la derniere reference de la base
     * */
	public String getLastRef() throws SQLException, DAOException;
}
